Our team was broken in to two sub teams this WBS shows the overview of objectives for the image processing section of the project
Image Classification using a Convolution Neural Network
One of the main parts of this project is to identify if there is a fire in the image/video captured by the camera. In this part, my approach is using a neural network. Neural networks are the most powerful tool in the image classification which is also fit in our case.
However, normally, convolutional neural networks (CNN) needs to be supported by a high computational equipment which is impossible for us to use in an embedded device. Fortunately, there is a lightweight network structure named mobilenet. It’s structure allowed us to embed it into a Raspberry Pi 4 and still have a high classification accuracy.
Levels of CNN Implemented
Results
This example shows how the machine learning algorithm performs binary classification to seperate fire images from non-fire images
We developed two seperate machine learning algorithms one fore visible light images and another for thermal images. It produced an accuracy of 96.4% and 64.2% repectively
Image Segmentation
We implemented an additional layer of image processing to pin-point the location of the fire in the "Fire" classified image. We tested 2 algorithms(RGB and Binary),both which were thershold based alorithms with multiple layers of image refining.
RGB Image Segementation
The process of detecting the front line of the fire using RGB color seperation
Binary Image Segmentation
The process of detecting the location of the fire using binary image segmentaion and noise filteration using curvature filter